/*
 * Copyright (c) 2009, Jan Pastor. All Rights Reserved.
 */

package sk.jp.jitag.util;

import sk.jp.commons.tools.Messages;

public enum Msg {
//    m("ui."),//
    m("ui.TODO"),//

    //common
    commonOk("ui.common.ok"), //OK
    commonCancel("ui.common.cancel"), //Cancel
    commonHelp("ui.common.help"), //Help

    //MainWindow
    mainWndTitle("ui.main.title"), //JiTag
    menuFile("ui.menu.file"),//File
    menuExit("ui.menu.exit"),//Exit
    menuImage("ui.menu.image"),//Image
    menuZoomImage("ui.menu.zoom"),//Zoom image
    menuSetRating("ui.menu.setrating"),//Set rating
    menuOpenWithTool("ui.menu.openwithtool"),//Open with tool
    menuRotateLeft("ui.menu.rotateleft"),//Rotate left
    menuRotateRight("ui.menu.rotateright"),//Rotate right
    menuView("ui.menu.view"),//View
    menuEditMode("ui.menu.editmode"),//Edit mode
    menuSearchMode("ui.menu.searchmode"),//Search mode
    menuOptions("ui.menu.options"),//Options
    menuOpenProperties("ui.menu.openproperties"),//Properties...
    menuSaveAsProperties("ui.menu.saveasprops"),//Save profile as...
    menuLoadProperties("ui.menu.loadprops"),//Load profile
    menuOpenTagManager("ui.menu.opentagmanager"),//Open tags manager...
    menuRefreshRepNow("ui.menu.refreshreponow"),//Refresh repository now
    menuHelp("ui.menu.help"),//Help
    menuHelpContent("ui.menu.helpcontent"),//Content...
    menuSystemInfo("ui.menu.systeminfo"),//System info
    menuAbout("ui.menu.about"),//About

    stBarAppReadyWork("ui.statusbar.appreadytowork"),//Application ready to work...
    stBarAppExiting("ui.statusbar.appexiting"),//Exiting application...

    msgRescanReposNow("ui.msg.rescanreposnow"),//Do you want to rescan repositories now?
    msgRestartAppForApply("ui.msg.restartappforapply"),//You must restart application to apply all settings.
    msgNoRepoRoots("ui.msg.noreporoots"),//No repository root configured in current configuration profile
    msgRescanReposRunning("ui.msg.msgrescanreposrunning"),//Scanning repositories process is currently running

    //Defaults
    defaultsScanPeriodsPresets("ui.prefs.def.scanperiods.presets"),  //Presets
    defaultsScanPeriods5min("ui.prefs.def.scanperiods.5min"), //5 min
    defaultsScanPeriods15min("ui.prefs.def.scanperiods.15min"), //15 min
    defaultsScanPeriods1hour("ui.prefs.def.scanperiods.1hour"), //1 hour
    defaultsScanPeriods1day("ui.prefs.def.scanperiods.1day"), //1 day
    defaultsScanPeriodsNoScan("ui.prefs.def.scanperiods.noscan"), //No auto scan
    defaultsConfPlacesApp("ui.prefs.def.confplaces.app"), //Application directory
    defaultsConfPlacesHome("ui.prefs.def.confplaces.home"), //User's home directory
    defaultsConfPlacesPath("ui.prefs.def.confplaces.path"), //Specified directory
    configProfileDefault("ui.conf.profile.def.desc"), //Default configuration profile
    defaultsMediaClassImage("ui.prefs.def.mediaclass.image"), //Image
    defaultsMediaClassText("ui.prefs.def.mediaclass.text"), //Text
    defaultsMediaClassAudio("ui.prefs.def.mediaclass.audio"), //Audio
    defaultsMediaClassVideo("ui.prefs.def.mediaclass.video"), //Video
    defaultsMediaClassOther("ui.prefs.def.mediaclass.other"), //Other

    //PreferencesDialog
    prefDialogTitle("ui.prefsdlg.title"),  //Preferences
    prefDialogGeneral("ui.prefsdlg.general"),  //General settings
    prefDialogConfPlace("ui.prefsdlg.confplace"),  //Configuration and data place:
    prefDialogConfPlaceHelp("ui.prefsdlg.confplace.help"),  //...
    prefDialogConfPath("ui.prefsdlg.confpath"),  //Configuration and data directory:
    prefDialogConfPathHelp("ui.prefsdlg.confpath.help"),  //...
    prefDialogLang("ui.prefsdlg.lang"),  //Language
    prefDialogLangHelp("ui.prefsdlg.lang.help"),  //...
    prefDialogProfile("ui.prefsdlg.profileset"),  //Profile settings
    prefDialogLabel("ui.prefsdlg.label"),  //Configuration profile label:
    prefDialogLabelHelp("ui.prefsdlg.label.help"),  //...
    prefDialogDesc("ui.prefsdlg.desc"),  //Configuration profile description:
    prefDialogDescHelp("ui.prefsdlg.desc.help"),  //...
    prefDialogRepoloc("ui.prefsdlg.repoloc"),  //Repository locations:
    prefDialogRepolocHelp("ui.prefsdlg.repoloc.help"),  //...
    prefDialogScanper("ui.prefsdlg.scanper"),  //Scan period (sec):
    prefDialogScanperHelp("ui.prefsdlg.scanper.help"),  //...
    prefDialogLaf("ui.prefsdlg.laf"),  //Look and Feel:
    prefDialogLafHelp("ui.prefsdlg.laf.help"),  //...
    prefDialogLaftheme("ui.prefsdlg.laftheme"),  //Look and Feel theme:
    prefDialogLafthemeHelp("ui.prefsdlg.laftheme.help"),  //...
    prefDialogMedia("ui.prefsdlg.media"),  //Select media for scan
    prefDialogMediaHelp("ui.prefsdlg.media.help"),  //Help
    prefDialogImgtools("ui.prefsdlg.imgtools"),  //Image tools:
    prefDialogImgtoolsHelp("ui.prefsdlg.imgtools.help"),  //...
    prefDialogSave("ui.prefsdlg.save"),  //Save
    prefDialogCancel("ui.prefsdlg.cancel"),  //Cancel
    prefDialogHelp("ui.prefsdlg.help"),  //Help
    prefDialogErrInvConfPath("ui.prefsdlg.err.invconfpath"),  //Path is not valid for configuration directory (not exists or not direcotry) (path: )
    prefDialogErrInvValue("ui.prefsdlg.err.invvalue"),  //Invalid value of field ..
    prefDialogAssignTools("ui.prefsdlg.asigtools"),  //Assign tools for file formats
    prefDialogAssignToolsHelp("ui.prefsdlg.asigtools.help"),  //...

    //SelectMediaDialog
    mediaDialogTitle("ui.mediadlg.title"), //Select media for scan
    mediaDialogFileFormat("ui.mediadlg.fileformat"), //File format
    mediaDialogFileExt("ui.mediadlg.fileext"), //File extension
    mediaDialogNoFileFormSel("ui.mediadlg.nofileformsel"), //No file format is selected

    //FileFormatDialog
    fformatDialogTitle("ui.fformatdlg.title"), //New file format
    fformatDialogLabel("ui.fformatdlg.label"), //Label
    fformatDialogDesc("ui.fformatdlg.description"), //Description
    fformatDialogErrMisReq("ui.fformatdlg.err.reqfield.label"), //

    //FileExtensionDialog
    fextDialogTitle("ui.fextdlg.title"), //New file extension
    fextDialogExt("ui.fextdlg.ext"), //File extension:
    fextDialogErrMisReq("ui.fextdlg.err.reqfield.label"), //

    //ToolDialog
    toolDialogTitleNew("ui.tooldlg.title.new"), //New tool
    toolDialogTitleEdit("ui.tooldlg.title.edit"), //Edit tool properties
    toolDialogLabel("ui.tooldlg.label"), //Label:
    toolDialogCmdline("ui.tooldlg.cmdline"), //Command line:
    toolDialogHelpTitle("ui.tooldlg.help.title"), //Help
    toolDialogHelp("ui.tooldlg.help"), //...
    toolDialogMisReq("ui.tooldlg.err.misreq"), //

    //FormatToolsDialog
    ftoolsDialogTitle("ui.ftoolsdlg.title"), //Assign tools for file formats
    ftoolsDialogFileFormat("ui.ftoolsdlg.fileformat"), //File format:
    ftoolsDialogAllTools("ui.ftoolsdlg.alltools"), //All tools:
    ftoolsDialogSelTools("ui.ftoolsdlg.seltools"), //Selected tools:

    //AboutDialog
    aboutDlgTitle("ui.aboutdlg.title"),
    aboutDlgText("ui.aboutdlg.text"),

    //Configuration and system properties dialog
    appSysPropsDialogTitle("ui.appsyspropsdlg.title"),//Configuration and system properties
    appSysPropsBase("ui.appsyspropsdlg.base"),//Base properties
    appSysPropsProfiles("ui.appsyspropsdlg.profiles"),//Configuration profiles
    appSysPropsSys("ui.appsyspropsdlg.jre"),//Java Runtime Environment properties

    //Background process - GarbageCollectorProcess
    garbageCollectorProcessInfo("ui.garbagecollectorprocess.info"),  //free allocated memory / uvolnovanie alokovane pamate

    //Background process - RepositoryRefreshProcess
    repositoryRefreshProcessInfo("ui.repositoryrefreshprocess.info"),
    ;

    //----------------------------------------------------------------------

    private String propKey;

    Msg(String propKey) {
        this.propKey = propKey;
    }

    /**
     * Returns message property key.
     * @return message property key.
     */
    public String getPropKey() {
        return propKey;
    }

    /**
     * Returns message property value (translated string).
     * @return message property value (translated string).
     */
    public String value(){
        return Messages.getMessage(propKey);
    }

}